package com.settlement.system.mapper;

import com.settlement.system.model.entity.common.CommonPlugIn;
import com.settlement.system.model.entity.common.SinglePage;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author author
 */
public interface WpPlugInMapper {

    /**
     * 获取数量
     * @param params
     * @return
     */
    public Integer getBillNumberCount(@Param("params") Map<String,Object> params);

    /**
     * 获取唯品分页账单接口
     * @param page
     * @param params
     * @param orderByField
     * @param orderBy
     * @return
     */
    public List<CommonPlugIn> getBillNumber(@Param("page") SinglePage page, @Param("params") Map<String,Object> params,
                                            @Param("orderByField") String orderByField, @Param("orderBy") String orderBy);

    /**
     * 获取结算期间的数量
     * @param params
     * @return
     */
    public Integer getSettlePeriodCount(@Param("params") Map<String,Object> params);

    /**
     * 获取档期的数量
     * @param params
     * @return
     */
    public Integer getCalendarCount(@Param("params") Map<String,Object> params);

    /**
     * 获取档期的数量
     * @param params
     * @return
     */
    Integer getOrderScheduleCount(@Param("params") Map<String,Object> params);



    /**
     * 获取结算期间
     * @param page
     * @param params
     * @param orderByField
     * @param orderBy
     * @return
     */
    public List<CommonPlugIn> getSettlePeriod(@Param("page") SinglePage page, @Param("params") Map<String,Object> params,
                                              @Param("orderByField") String orderByField, @Param("orderBy") String orderBy);

    /**
     * 获取档期
     * @param page
     * @param params
     * @param orderByField
     * @param orderBy
     * @return
     */
    public List<CommonPlugIn> getCalendar(@Param("page") SinglePage page, @Param("params") Map<String,Object> params,
                                              @Param("orderByField") String orderByField, @Param("orderBy") String orderBy);

    /**
     * 获取档期
     * @param page
     * @param params
     * @param orderByField
     * @param orderBy
     * @return
     */
    List<CommonPlugIn> getOrderSchedule(@Param("page") SinglePage page, @Param("params") Map<String,Object> params,
                                          @Param("orderByField") String orderByField, @Param("orderBy") String orderBy);

    /**
     * 获取店铺
     * @param params
     * @return
     */
    public List<CommonPlugIn> getShop(@Param("params") Map<String,Object> params);

    /**
     * 获取公司
     * @param params
     * @return
     */
    public List<CommonPlugIn> getCompany(@Param("params") Map<String,Object> params);

    public List<CommonPlugIn> getBillTypeList(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> getBillCategoryList(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> getBillCategoryInUseList(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> getBillTypeListAll(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> getVoucherTypeList(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> searchChannelList(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> searchCategoryList(@Param("params") Map<String,Object> params);

    List<CommonPlugIn> searchQueryTableList(@Param("params") Map<String,Object> params);


}
